package com.pagoda.nerp.trade.entity;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import java.util.Arrays;
import java.util.Date;
@JsonSerialize(include= JsonSerialize.Inclusion.NON_NULL)
public class MdVendor {
    /**
     * 供应商ID，对应单据类型编码：VENDOR_ID
     *
     * @mbg.generated
     */
    private Integer vendorId;

    /**
     * 供应商类型：A-直销客户；B-分销客户；C-办事处； D-分公司 E 贸易商 F 农业组织 G 个体户,说明供应商具体类型表现为，customerKind+customerType,如：customerKind=E,customerType=V，则为贸易商的供应商
     *
     * @mbg.generated
     */
    private String customerKind;

    /**
     * 客户类型：B -买方  V-供应商 O-其它
     *
     * @mbg.generated
     */
    private String customerType;

    /**
     * 供应商代码,单据类型编码：VENDOR_CODE
     *
     * @mbg.generated
     */
    private String vendorCode;

    /**
     * 供应商名称
     *
     * @mbg.generated
     */
    private String vendorName;

    /**
     * 供应商简称
     *
     * @mbg.generated
     */
    private String simpleName;

    /**
     * 门店/供应商地址
     *
     * @mbg.generated
     */
    private String address;

    /**
     * 企业法人
     *
     * @mbg.generated
     */
    private String legalPerson;

    /**
     * 电话号码
     *
     * @mbg.generated
     */
    private String phoneNumber;

    /**
     * 邮政编码
     *
     * @mbg.generated
     */
    private String postcode;

    /**
     * 纳税登记号
     *
     * @mbg.generated
     */
    private String taxRegisterNo;

    /**
     * 开户银行
     *
     * @mbg.generated
     */
    private String bankName;

    /**
     * 银行账号
     *
     * @mbg.generated
     */
    private String bankAccountNo;

    /**
     * 业务主管
     *
     * @mbg.generated
     */
    private String operationMaster;

    /**
     * 总裁
     *
     * @mbg.generated
     */
    private String ceo;

    /**
     * 登记日期
     *
     * @mbg.generated
     */
    private Date entryDate;

    /**
     * 备注
     *
     * @mbg.generated
     */
    private String remark;

    /**
     * 企业年产值,单位转换为分
     *
     * @mbg.generated
     */
    private Long outputValue;

    /**
     * 企业年利润，单位为分
     *
     * @mbg.generated
     */
    private Long profit;

    /**
     * 企业信誉度
     *
     * @mbg.generated
     */
    private Integer credit;

    /**
     * 信贷天数
     *
     * @mbg.generated
     */
    private Integer creditDays;

    /**
     * 信贷额度,单位:分
     *
     * @mbg.generated
     */
    private Long creditLimit;

    /**
     * 国家
     *
     * @mbg.generated
     */
    private String country;

    /**
     * 省
     *
     * @mbg.generated
     */
    private String state;

    /**
     * 市
     *
     * @mbg.generated
     */
    private String city;

    /**
     * 地区代码
     *
     * @mbg.generated
     */
    private String areaCode;

    /**
     * 供应商类别代码
     *
     * @mbg.generated
     */
    private String classifyCode;

    /**
     * 企业心智代码
     *
     * @mbg.generated
     */
    private String enterpriseTypeCode;

    /**
     * 行业代码
     *
     * @mbg.generated
     */
    private String industryCode;

    /**
     * 交易次数
     *
     * @mbg.generated
     */
    private Long tradeCount;

    /**
     * 退货次数
     *
     * @mbg.generated
     */
    private Integer returnCount;

    /**
     * 上级分销商
     *
     * @mbg.generated
     */
    private String parentCustomerCode;

    /**
     * 财务应收/应付帐科目号
     *
     * @mbg.generated
     */
    private String accountNo;

    /**
     * 运费折扣级别
     *
     * @mbg.generated
     */
    private String discountLevel;

    /**
     * 已方业务结构代码
     *
     * @mbg.generated
     */
    private String dutyOrgCode;

    /**
     * 发票类型：
              C：普通发票 
              T：增值税发票
     *
     * @mbg.generated
     */
    private String invoiceType;

    /**
     * 代理商标识：
              Y-是；
              N-否
     *
     * @mbg.generated
     */
    private String agentFlag;

    /**
     * 付款客户代码（字段的意思就是customercode对应的客户将来由paycustomercode来付款）
     *
     * @mbg.generated
     */
    private String payCustomerCode;

    /**
     * 结算方式代码
     *
     * @mbg.generated
     */
    private String paymentCode;

    /**
     * 返利率:单位：万分比
     *
     * @mbg.generated
     */
    private Integer returnPercent;

    /**
     * 供货周期 0表示随时可供货
     *
     * @mbg.generated
     */
    private Integer purCycle;

    /**
     * 采购提前期
     *
     * @mbg.generated
     */
    private Integer leadTime;

    /**
     * 采购批量：单位：g
     *
     * @mbg.generated
     */
    private Long purBatchQty;

    /**
     * 可折扣标识
     *
     * @mbg.generated
     */
    private String discountFlag;

    /**
     * 默认退货取价格的方式
            （
              L-分级价格；
              W-库存单价；
              S-存货单价；
              P-采购单价；
              J-计划价；
              N-最近发货单价
            ）
     *
     * @mbg.generated
     */
    private String returnPriceFlag;

    /**
     * 一般纳税人标识('Y'' 是一般纳税人,'N'' 不是一般纳税人'
     *
     * @mbg.generated
     */
    private String taxPayerFlag;

    /**
     * 启用标识 Y 是 N否
     *
     * @mbg.generated
     */
    private String isEnabled;

    /**
     * 是否关闭Y是 N 否
     *
     * @mbg.generated
     */
    private String isClose;

    /**
     * 是否内部客户：Y 是 N 否
     *
     * @mbg.generated
     */
    private String isInnerecCustomerCode;

    /**
     * 合同签订日期yyyy-MM-dd
     *
     * @mbg.generated
     */
    private Date contractStartDate;

    /**
     * 合同截止日期：yyyy-MM-dd
     *
     * @mbg.generated
     */
    private Date contractEndDate;

    /**
     * 审核状态：
             A 未提交申请
             B 待审核
             C 已通过
             D 未通过
     *
     * @mbg.generated
     */
    private String verifyStatus;

    /**
     * 供应商状态
            （
            
               A  正常
               B  过期，
               C  黑名单
            ）
     *
     * @mbg.generated
     */
    private String vendorStatus;

    /**
     * 联系人名称
     *
     * @mbg.generated
     */
    private String contacts;

    /**
     * 负责人证件人
     *
     * @mbg.generated
     */
    private String cardNo;

    /**
     * 组织机构代码(供应商申请时填写)
     *
     * @mbg.generated
     */
    private String organizationCode;

    /**
     * 是否开通供应链金融Y 开通 N 未开通
     *
     * @mbg.generated
     */
    private String isOpenKing;

    /**
     * 最后一次审核记录ID
     *
     * @mbg.generated
     */
    private Integer lastCheckId;

    /**
     * 创建人
     *
     * @mbg.generated
     */
    private String createUser;

    /**
     * 创建时间
     *
     * @mbg.generated
     */
    private Date createTime;

    /**
     * 审核人
     *
     * @mbg.generated
     */
    private String checkUser;

    /**
     * 审核时间
     *
     * @mbg.generated
     */
    private Date checkTime;

    /**
     * 修改人
     *
     * @mbg.generated
     */
    private String modifyUser;

    /**
     * 修改时间
     *
     * @mbg.generated
     */
    private Date modifyTime;

    /**
     * 更新版本，每次个更新+1
     *
     * @mbg.generated
     */
    private Long updateVersion;

    /**
     * 助记码
     *
     * @mbg.generated
     */
    private byte[] simpleCode;

    /**
     * 电子邮件
     *
     * @mbg.generated
     */
    private byte[] email;
    
    private String verifyCode;

    public Integer getVendorId() {
        return vendorId;
    }

    public void setVendorId(Integer vendorId) {
        this.vendorId = vendorId;
    }

    public String getCustomerKind() {
        return customerKind;
    }

    public void setCustomerKind(String customerKind) {
        this.customerKind = customerKind == null ? null : customerKind.trim();
    }

    public String getCustomerType() {
        return customerType;
    }

    public void setCustomerType(String customerType) {
        this.customerType = customerType == null ? null : customerType.trim();
    }

    public String getVendorCode() {
        return vendorCode;
    }

    public void setVendorCode(String vendorCode) {
        this.vendorCode = vendorCode == null ? null : vendorCode.trim();
    }

    public String getVendorName() {
        return vendorName;
    }

    public void setVendorName(String vendorName) {
        this.vendorName = vendorName == null ? null : vendorName.trim();
    }

    public String getSimpleName() {
        return simpleName;
    }

    public void setSimpleName(String simpleName) {
        this.simpleName = simpleName == null ? null : simpleName.trim();
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address == null ? null : address.trim();
    }

    public String getLegalPerson() {
        return legalPerson;
    }

    public void setLegalPerson(String legalPerson) {
        this.legalPerson = legalPerson == null ? null : legalPerson.trim();
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber == null ? null : phoneNumber.trim();
    }

    public String getPostcode() {
        return postcode;
    }

    public void setPostcode(String postcode) {
        this.postcode = postcode == null ? null : postcode.trim();
    }

    public String getTaxRegisterNo() {
        return taxRegisterNo;
    }

    public void setTaxRegisterNo(String taxRegisterNo) {
        this.taxRegisterNo = taxRegisterNo == null ? null : taxRegisterNo.trim();
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName == null ? null : bankName.trim();
    }

    public String getBankAccountNo() {
        return bankAccountNo;
    }

    public void setBankAccountNo(String bankAccountNo) {
        this.bankAccountNo = bankAccountNo == null ? null : bankAccountNo.trim();
    }

    public String getOperationMaster() {
        return operationMaster;
    }

    public void setOperationMaster(String operationMaster) {
        this.operationMaster = operationMaster == null ? null : operationMaster.trim();
    }

    public String getCeo() {
        return ceo;
    }

    public void setCeo(String ceo) {
        this.ceo = ceo == null ? null : ceo.trim();
    }

    public Date getEntryDate() {
        return entryDate;
    }

    public void setEntryDate(Date entryDate) {
        this.entryDate = entryDate;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public Long getOutputValue() {
        return outputValue;
    }

    public void setOutputValue(Long outputValue) {
        this.outputValue = outputValue;
    }

    public Long getProfit() {
        return profit;
    }

    public void setProfit(Long profit) {
        this.profit = profit;
    }

    public Integer getCredit() {
        return credit;
    }

    public void setCredit(Integer credit) {
        this.credit = credit;
    }

    public Integer getCreditDays() {
        return creditDays;
    }

    public void setCreditDays(Integer creditDays) {
        this.creditDays = creditDays;
    }

    public Long getCreditLimit() {
        return creditLimit;
    }

    public void setCreditLimit(Long creditLimit) {
        this.creditLimit = creditLimit;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country == null ? null : country.trim();
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state == null ? null : state.trim();
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city == null ? null : city.trim();
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode == null ? null : areaCode.trim();
    }

    public String getClassifyCode() {
        return classifyCode;
    }

    public void setClassifyCode(String classifyCode) {
        this.classifyCode = classifyCode == null ? null : classifyCode.trim();
    }

    public String getEnterpriseTypeCode() {
        return enterpriseTypeCode;
    }

    public void setEnterpriseTypeCode(String enterpriseTypeCode) {
        this.enterpriseTypeCode = enterpriseTypeCode == null ? null : enterpriseTypeCode.trim();
    }

    public String getIndustryCode() {
        return industryCode;
    }

    public void setIndustryCode(String industryCode) {
        this.industryCode = industryCode == null ? null : industryCode.trim();
    }

    public Long getTradeCount() {
        return tradeCount;
    }

    public void setTradeCount(Long tradeCount) {
        this.tradeCount = tradeCount;
    }

    public Integer getReturnCount() {
        return returnCount;
    }

    public void setReturnCount(Integer returnCount) {
        this.returnCount = returnCount;
    }

    public String getParentCustomerCode() {
        return parentCustomerCode;
    }

    public void setParentCustomerCode(String parentCustomerCode) {
        this.parentCustomerCode = parentCustomerCode == null ? null : parentCustomerCode.trim();
    }

    public String getAccountNo() {
        return accountNo;
    }

    public void setAccountNo(String accountNo) {
        this.accountNo = accountNo == null ? null : accountNo.trim();
    }

    public String getDiscountLevel() {
        return discountLevel;
    }

    public void setDiscountLevel(String discountLevel) {
        this.discountLevel = discountLevel == null ? null : discountLevel.trim();
    }

    public String getDutyOrgCode() {
        return dutyOrgCode;
    }

    public void setDutyOrgCode(String dutyOrgCode) {
        this.dutyOrgCode = dutyOrgCode == null ? null : dutyOrgCode.trim();
    }

    public String getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(String invoiceType) {
        this.invoiceType = invoiceType == null ? null : invoiceType.trim();
    }

    public String getAgentFlag() {
        return agentFlag;
    }

    public void setAgentFlag(String agentFlag) {
        this.agentFlag = agentFlag == null ? null : agentFlag.trim();
    }

    public String getPayCustomerCode() {
        return payCustomerCode;
    }

    public void setPayCustomerCode(String payCustomerCode) {
        this.payCustomerCode = payCustomerCode == null ? null : payCustomerCode.trim();
    }

    public String getPaymentCode() {
        return paymentCode;
    }

    public void setPaymentCode(String paymentCode) {
        this.paymentCode = paymentCode == null ? null : paymentCode.trim();
    }

    public Integer getReturnPercent() {
        return returnPercent;
    }

    public void setReturnPercent(Integer returnPercent) {
        this.returnPercent = returnPercent;
    }

    public Integer getPurCycle() {
        return purCycle;
    }

    public void setPurCycle(Integer purCycle) {
        this.purCycle = purCycle;
    }

    public Integer getLeadTime() {
        return leadTime;
    }

    public void setLeadTime(Integer leadTime) {
        this.leadTime = leadTime;
    }

    public Long getPurBatchQty() {
        return purBatchQty;
    }

    public void setPurBatchQty(Long purBatchQty) {
        this.purBatchQty = purBatchQty;
    }

    public String getDiscountFlag() {
        return discountFlag;
    }

    public void setDiscountFlag(String discountFlag) {
        this.discountFlag = discountFlag == null ? null : discountFlag.trim();
    }

    public String getReturnPriceFlag() {
        return returnPriceFlag;
    }

    public void setReturnPriceFlag(String returnPriceFlag) {
        this.returnPriceFlag = returnPriceFlag == null ? null : returnPriceFlag.trim();
    }

    public String getTaxPayerFlag() {
        return taxPayerFlag;
    }

    public void setTaxPayerFlag(String taxPayerFlag) {
        this.taxPayerFlag = taxPayerFlag == null ? null : taxPayerFlag.trim();
    }

    public String getIsEnabled() {
        return isEnabled;
    }

    public void setIsEnabled(String isEnabled) {
        this.isEnabled = isEnabled == null ? null : isEnabled.trim();
    }

    public String getIsClose() {
        return isClose;
    }

    public void setIsClose(String isClose) {
        this.isClose = isClose == null ? null : isClose.trim();
    }

    public String getIsInnerecCustomerCode() {
        return isInnerecCustomerCode;
    }

    public void setIsInnerecCustomerCode(String isInnerecCustomerCode) {
        this.isInnerecCustomerCode = isInnerecCustomerCode == null ? null : isInnerecCustomerCode.trim();
    }

    public Date getContractStartDate() {
        return contractStartDate;
    }

    public void setContractStartDate(Date contractStartDate) {
        this.contractStartDate = contractStartDate;
    }

    public Date getContractEndDate() {
        return contractEndDate;
    }

    public void setContractEndDate(Date contractEndDate) {
        this.contractEndDate = contractEndDate;
    }

    public String getVerifyStatus() {
        return verifyStatus;
    }

    public void setVerifyStatus(String verifyStatus) {
        this.verifyStatus = verifyStatus == null ? null : verifyStatus.trim();
    }

    public String getVendorStatus() {
        return vendorStatus;
    }

    public void setVendorStatus(String vendorStatus) {
        this.vendorStatus = vendorStatus == null ? null : vendorStatus.trim();
    }

    public String getContacts() {
        return contacts;
    }

    public void setContacts(String contacts) {
        this.contacts = contacts == null ? null : contacts.trim();
    }

    public String getCardNo() {
        return cardNo;
    }

    public void setCardNo(String cardNo) {
        this.cardNo = cardNo == null ? null : cardNo.trim();
    }

    public String getOrganizationCode() {
        return organizationCode;
    }

    public void setOrganizationCode(String organizationCode) {
        this.organizationCode = organizationCode == null ? null : organizationCode.trim();
    }

    public String getIsOpenKing() {
        return isOpenKing;
    }

    public void setIsOpenKing(String isOpenKing) {
        this.isOpenKing = isOpenKing == null ? null : isOpenKing.trim();
    }

    public Integer getLastCheckId() {
        return lastCheckId;
    }

    public void setLastCheckId(Integer lastCheckId) {
        this.lastCheckId = lastCheckId;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser == null ? null : createUser.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCheckUser() {
        return checkUser;
    }

    public void setCheckUser(String checkUser) {
        this.checkUser = checkUser == null ? null : checkUser.trim();
    }

    public Date getCheckTime() {
        return checkTime;
    }

    public void setCheckTime(Date checkTime) {
        this.checkTime = checkTime;
    }

    public String getModifyUser() {
        return modifyUser;
    }

    public void setModifyUser(String modifyUser) {
        this.modifyUser = modifyUser == null ? null : modifyUser.trim();
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public Long getUpdateVersion() {
        return updateVersion;
    }

    public void setUpdateVersion(Long updateVersion) {
        this.updateVersion = updateVersion;
    }

    public byte[] getSimpleCode() {
        return simpleCode;
    }

    public void setSimpleCode(byte[] simpleCode) {
        this.simpleCode = simpleCode;
    }

    public byte[] getEmail() {
        return email;
    }

    public void setEmail(byte[] email) {
        this.email = email;
    }

    @Override
    public String toString() {
        return "MdVendor{" +
                "vendorId=" + vendorId +
                ", customerKind='" + customerKind + '\'' +
                ", customerType='" + customerType + '\'' +
                ", vendorCode='" + vendorCode + '\'' +
                ", vendorName='" + vendorName + '\'' +
                ", simpleName='" + simpleName + '\'' +
                ", address='" + address + '\'' +
                ", legalPerson='" + legalPerson + '\'' +
                ", phoneNumber='" + phoneNumber + '\'' +
                ", postcode='" + postcode + '\'' +
                ", taxRegisterNo='" + taxRegisterNo + '\'' +
                ", bankName='" + bankName + '\'' +
                ", bankAccountNo='" + bankAccountNo + '\'' +
                ", operationMaster='" + operationMaster + '\'' +
                ", ceo='" + ceo + '\'' +
                ", entryDate=" + entryDate +
                ", remark='" + remark + '\'' +
                ", outputValue=" + outputValue +
                ", profit=" + profit +
                ", credit=" + credit +
                ", creditDays=" + creditDays +
                ", creditLimit=" + creditLimit +
                ", country='" + country + '\'' +
                ", state='" + state + '\'' +
                ", city='" + city + '\'' +
                ", areaCode='" + areaCode + '\'' +
                ", classifyCode='" + classifyCode + '\'' +
                ", enterpriseTypeCode='" + enterpriseTypeCode + '\'' +
                ", industryCode='" + industryCode + '\'' +
                ", tradeCount=" + tradeCount +
                ", returnCount=" + returnCount +
                ", parentCustomerCode='" + parentCustomerCode + '\'' +
                ", accountNo='" + accountNo + '\'' +
                ", discountLevel='" + discountLevel + '\'' +
                ", dutyOrgCode='" + dutyOrgCode + '\'' +
                ", invoiceType='" + invoiceType + '\'' +
                ", agentFlag='" + agentFlag + '\'' +
                ", payCustomerCode='" + payCustomerCode + '\'' +
                ", paymentCode='" + paymentCode + '\'' +
                ", returnPercent=" + returnPercent +
                ", purCycle=" + purCycle +
                ", leadTime=" + leadTime +
                ", purBatchQty=" + purBatchQty +
                ", discountFlag='" + discountFlag + '\'' +
                ", returnPriceFlag='" + returnPriceFlag + '\'' +
                ", taxPayerFlag='" + taxPayerFlag + '\'' +
                ", isEnabled='" + isEnabled + '\'' +
                ", isClose='" + isClose + '\'' +
                ", isInnerecCustomerCode='" + isInnerecCustomerCode + '\'' +
                ", contractStartDate=" + contractStartDate +
                ", contractEndDate=" + contractEndDate +
                ", verifyStatus='" + verifyStatus + '\'' +
                ", vendorStatus='" + vendorStatus + '\'' +
                ", contacts='" + contacts + '\'' +
                ", cardNo='" + cardNo + '\'' +
                ", organizationCode='" + organizationCode + '\'' +
                ", isOpenKing='" + isOpenKing + '\'' +
                ", lastCheckId=" + lastCheckId +
                ", createUser='" + createUser + '\'' +
                ", createTime=" + createTime +
                ", checkUser='" + checkUser + '\'' +
                ", checkTime=" + checkTime +
                ", modifyUser='" + modifyUser + '\'' +
                ", modifyTime=" + modifyTime +
                ", updateVersion=" + updateVersion +
                ", simpleCode=" + Arrays.toString(simpleCode) +
                ", email=" + Arrays.toString(email) +
                '}';
    }

	public String getVerifyCode() {
		return verifyCode;
	}

	public void setVerifyCode(String verifyCode) {
		this.verifyCode = verifyCode;
	}
}